package com.puti.doctor.service.impl;

import java.util.List;

import com.puti.common.core.domain.R;
import com.puti.system.api.domain.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.puti.doctor.mapper.PatientInfoMapper;
import com.puti.doctor.domian.PatientInfo;
import com.puti.doctor.service.IPatientInfoService;
import com.puti.doctor.domian.PatientInfo;
import com.puti.doctor.mapper.PatientInfoMapper;
import com.puti.doctor.service.IPatientInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 患者-个人信息 患者-个人信息Service业务层处理
 * 
 * @author puti
 * @date 2021-04-25
 */
@Service
public class PatientInfoServiceImpl implements IPatientInfoService
{
    @Autowired
    private PatientInfoMapper patientInfoMapper;

    /**
     * 查询患者-个人信息 患者-个人信息
     * 
     * @param patientId 患者-个人信息 患者-个人信息ID
     * @return 患者-个人信息 患者-个人信息
     */
    @Override
    public PatientInfo selectPatientInfoById(Long patientId)
    {
        return patientInfoMapper.selectPatientInfoById(patientId);
    }

    /**
     * 查询患者-个人信息 患者-个人信息列表
     * 
     * @param patientInfo 患者-个人信息 患者-个人信息
     * @return 患者-个人信息 患者-个人信息
     */
    @Override
    public List<PatientInfo> selectPatientInfoList(PatientInfo patientInfo)
    {
        return patientInfoMapper.selectPatientInfoList(patientInfo);
    }

    /**
     * 新增患者-个人信息 患者-个人信息
     * 
     * @param patientInfo 患者-个人信息 患者-个人信息
     * @return 结果
     */
    @Override
    public int insertPatientInfo(PatientInfo patientInfo)
    {
        return patientInfoMapper.insertPatientInfo(patientInfo);
    }

    /**
     * 修改患者-个人信息 患者-个人信息
     * 
     * @param patientInfo 患者-个人信息 患者-个人信息
     * @return 结果
     */
    @Override
    public int updatePatientInfo(PatientInfo patientInfo)
    {
        return patientInfoMapper.updatePatientInfo(patientInfo);
    }

    /**
     * 批量删除患者-个人信息 患者-个人信息
     * 
     * @param patientIds 需要删除的患者-个人信息 患者-个人信息ID
     * @return 结果
     */
    @Override
    public int deletePatientInfoByIds(Long[] patientIds)
    {
        return patientInfoMapper.deletePatientInfoByIds(patientIds);
    }

    /**
     * 删除患者-个人信息 患者-个人信息信息
     * 
     * @param patientId 患者-个人信息 患者-个人信息ID
     * @return 结果
     */
    @Override
    public int deletePatientInfoById(Long patientId)
    {
        return patientInfoMapper.deletePatientInfoById(patientId);
    }

    @Override
    public R loginPatient(PatientInfo patientInfo) {
        List<PatientInfo> patientInfos= patientInfoMapper.loginPatient(patientInfo);
        PatientInfo patientInfo1 = new PatientInfo();
        int i=0;
        int j=0;
        for (PatientInfo p : patientInfos) {
            if (p.getPatientPassword().equals(patientInfo.getPatientPassword())){
                j++;
                patientInfo1=p;
            }
            i++;
        }if (i == 0) {
            return R.fail("用户名错误");
        }else {
            if(j==0){
                return R.fail("密码错误");
            }else {
                return R.ok(patientInfo1,"登录成功");
            }
        }
    }

    @Override
    public PatientInfo selectUserByUserName(String PatientName) {
        return null;
    }

    @Override
    public PatientInfo zslLogin(String username) {
        return patientInfoMapper.zslLogin(username);
    }

    /**
     * 通过用户名查询用户
     *
     * @param PatientName 用户名
     * @return 用户对象信息
     */


}
